1. Field
This disclosure relates generally to error correction, and more specifically, to error correction of an encoded message.
2. Related Art
Various error correction algorithms have been used to locate and correct bit errors in, for example, a data stream or a memory. Some error correction algorithms, such as for example, a Bose-Chaudhuri-Hocquenghem (BCH) algorithm require substantial time to locate and correct errors, even when implemented in a parallel manner.
The use of multi-level NAND flash memory is becoming more common because of the cost advantage. However, multi-level NAND flash memory is generally less reliable than other types of flash memory. The use of higher order error correction algorithms such as BCH has become important for performing error correction of the multi-level NAND flash memories. However, a high error rate in combination with large blocks of data results in a significant amount of time to locate the errors. The time intensive error correction has to be performed even for a single bit of error.
Therefore, what is needed is a method and apparatus that solves the above problems.